A music staging game machine disclosed in Japanese Laid-Open Patent Publication No. 2000-350861 is a game machine for enabling a player to perform a staging operation according to previously prepared music by using a keyboard and a slide disk.
In this music staging game machine, operation timing data and automatic playing timing data are prepared as data to be reproduced for playing music. The operation timing data defines operation timing of the keyboard and the slide disk and the automatic playing timing data is to generate staging sound effects at predetermined timing even without operating the keyboard and the slide disk. On a monitor, an indicator for instructing the player of timing to operate the keyboard and the slide disk is displayed. This indicator is generated based on the operation timing data and indicates operation timing for a music part in a given range from a currently played position.
In the above-mentioned music staging game machine, while the staging sound effects are being generated based on the automatic playing data, the player operates the keyboard and the slide disk at the operation timing displayed on a screen. Therefore, the music staging game machine is required to use the operation timing data and automatic playing timing data specially prepared for the music staging game machine, thereby making it impossible to use general-purpose music data as it is in the music staging game machine. Moreover, the operation timing data and the automatic playing timing data contain pieces of data which overlap with each other, thereby leading to a waste of a data capacity.
Therefore, a feature of the present invention is to provide a computer-readable storage medium having a music playing program stored therein and a music playing apparatus which allow utilization of general-purpose music data not only for simply playing music but also for a variety of other applications.
The present invention has the following features. Note that reference numerals indicated between parentheses are merely provided to illustrate one example of a relationship of correspondence with the figures for assisting in the understanding of the present invention, and by no means limit the scope of invention.
A storage medium of the present invention is a computer-readable storage medium having stored therein a music playing program (121) executed by a music playing apparatus (3) for playing music by reproducing music data (126) containing information pertinent to pitches of notes which the music is composed of and reproduction timing information. The music playing program causes a computer (10) in the music playing apparatus to execute: a non-sounding reproduction start step (S11, S71); a note information storing step (S12, S18, S72, S78); a sounding reproduction start step (S17, S95); and a note information utilizing step (S19, S79). The non-sounding reproduction start step starts non-sounding reproduction processing in which the music data is reproduced in a non-sounding manner. The note information storing step sequentially stores, in a note information storage region (123), note information pertinent to notes reproduced in the non-sounding manner each time each of the notes which the music is composed of is reproduced in the non-sounding manner during the non-sounding reproduction processing. The sounding reproduction start step starts sounding reproduction processing, in which the music data is reproduced in a sounding manner after the non-sounding reproduction processing has been started, such that sounding reproduction is performed in parallel with non-sounding reproduction. The note information utilizing step performs, during the sounding reproduction processing, information processing which utilizes the note information stored in the note information storage region.
The music playing program may cause the computer to further execute a reproduction speed control step (S11, S71) of temporarily making a speed at which the music is reproduced in the non-sounding reproduction processing faster than a speed at which the music is reproduced in the sounding reproduction processing. Thus, a waiting time until playing music is started (sounding reproduction) can be reduced.
At the reproduction speed control step, the speed at which the music is reproduced in the non-sounding reproduction processing may be made faster than the speed at which the music is reproduced in the sounding reproduction processing in a time period from when the non-sounding reproduction processing is started to when the sounding reproduction processing is started (S11), and the speed at which the music is reproduced in the non-sounding reproduction processing may be made same as the speed at which the music is reproduced in the sounding reproduction processing after the sounding reproduction processing has been started (S16). Thus, the waiting time until playing music is started (sounding reproduction) can be reduced and a storage capacity of the note information storage region can be saved.
The non-sounding reproduction processing may be a process in which the music data is reproduced with a volume of 0 by utilizing a music data reproduction library (122) having a function of reproducing the music data with any volume. Thus, the note information can be easily obtained by utilizing the existing music data reproduction library.
The note information storage region may be a storage region having a given capacity, which is set in a memory unit (12), and at the note information storing step, when the note information storage region is full, the note information may be stored in the note information storage region in a first-in first-out manner. Thus, the storage capacity of the note information storage region can be saved.
The note information storage region may be a ring buffer. Thus, management of the note information in the note information storage region (for example, a process in which newly generated note information is written over the oldest note information) is made easy.
The music playing program may cause the computer to further execute: a temporary halting step (S14, S74) of temporarily halting, after the non-sounding reproduction processing has been started, the non-sounding reproduction processing before the sounding reproduction processing is started; and a resuming step (S16, S76) of resuming the non-sounding reproduction processing when the sounding reproduction processing is started. Thus, a timing of starting the sounding reproduction can be controlled.
The music data may be MIDI data (126).
The music playing program may cause the computer to further execute a chord data storing step (S36) at which, when in the non-sounding reproduction processing, a plurality of notes are simultaneously outputted in any of tracks defined in the MIDI data, chord data in which the simultaneously outputted plurality of notes are associated with one another as a group is generated and stored in a chord data storage region (124). Thus, it is made easy to utilize the note information at the note information utilizing step.
The music playing program may cause the computer to further execute: a latest chord storing step (S38) of storing, as track data (125), latest chord data in each of the tracks among the chord data stored in the chord data storage region; a latest chord determining step (S34) of determining, each time any of notes is reproduced in the non-sounding reproduction processing, whether or not chord data, which is pertinent to a same track as a track having the reproduced note therein and whose reproduction timing is a same as a timing at which the note is reproduced, is stored as the track data; and a chord association step (S37) of associating, when a determination result obtained at the latest chord determining step is affirmative, the reproduced note with the chord data which is pertinent to the same track as the track having the reproduced note therein and whose reproduction timing is the same as the timing at which the note is reproduced.
The music playing apparatus may include a display unit (2), and at the note information utilizing step, during the sounding reproduction processing, an image of a score may be generated based on the note information stored in the note information storage region and may be outputted to the display unit.
The music playing apparatus may include an input unit (7), the music playing program may cause the computer to further execute an input detection step (S90) of detecting an input from the input unit during the sounding reproduction processing, the note information utilizing step may include: a shift width calculation step (S91) of calculating a shift width between a timing of the input from the input unit, which is detected at the input detection step, and an ideal input timing based on the music data; and a note information altering step (S92) of altering, based on the shift width calculated at the shift width calculation step, a part or all of the note information stored in the note information storage region, and the sounding reproduction start step may include a note generation step (S95) of generating notes based on the altered note information. Thus, it is made easy to play music while altering, for example, a reproduction timing, a sound pitch, and a sound length of a note in a real-time manner.
The note information may contain at least the reproduction timing information, and at the note information altering step, the reproduction timing information contained in the note information stored in the note information storage region may be altered based on the calculated shift width.
At the note information altering step, an altering amount of the note information may be increased in accordance with an increase in the calculated shift width.
The music playing apparatus may include an input unit (7) having an operation strength detection function (701), the note information may contain at least note length information of each of the notes, the music playing program may cause the computer to further execute an operation strength detection step of detecting an operation strength exerted on the input unit during the sounding reproduction processing, and at the note information utilizing step, the note length information contained in the note information stored in the note information storage region may be altered based on the operation strength exerted on the input unit, which has been detected at the operation strength detection step.
A music playing apparatus (3) is an apparatus for playing music by reproducing music data (126) containing information pertinent to pitches of notes which the music is composed of and reproduction timing information, comprising: a non-sounding reproduction start unit (10, S11, S71); a note information storing unit (10, S12, S18, S72, S78); a sounding reproduction start unit (10, S17, S95); and a note information utilizing unit (10, S19, S79). The non-sounding reproduction start unit (10, S11) is a unit for starting non-sounding reproduction processing in which the music data is reproduced in a non-sounding manner. The note information storing unit is a unit for sequentially storing, in a note information storage region, note information pertinent to notes reproduced in the non-sounding manner each time each of the notes which the music is composed of is reproduced in the non-sounding manner during the non-sounding reproduction processing. The sounding reproduction start unit is a unit for starting sounding reproduction processing, in which the music data is reproduced in a sounding manner after the non-sounding reproduction processing has been started, such that sounding reproduction is performed in parallel with non-sounding reproduction. The note information utilizing unit is a unit for performing, during the sounding reproduction processing, information processing which utilizes the note information stored in the note information storage region.
The present invention allows utilization of general-purpose music data not only for simply playing music but also for a variety of other applications.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.